1. Field of Disclosure
The disclosure relates generally to the field of communications in a transceiver, and more particularly to improved strategies for Cyclical Redundancy Check.
2. Related Art
Cyclic Redundancy Check (CRC) is a commonly used technique in digital communication networks for detecting errors in received data packets. Conventionally, a transmitter appends a certain number of check bits, often referred to as a checksum, to a sequence of data to form a data packet. Conventionally, the transmitter encodes the sequence of data, which may be represented as an information polynomial, by dividing the information polynomial by a CRC polynomial C(D) to produce a quotient polynomial Q(D) and a remainder E(D). The conventional transmitter appends the remainder E(D) as the check bits to the sequence of data to form the data packet for transmission to a conventional receiver.
The conventional receiver examines the data packet to determine whether an error occurred during its transmission. In conventional CRC, all of the bits of the data packet must be decoded before a determination can be made whether the error occurred during its transmission. Typically, the conventional receiver decodes the data packet starting from a most significant bit, typically an information bit, to the least significant bit, typically a check bit. Conventionally, this decoding involves dividing the data packet, which may be represented as a received polynomial R(D), by the CRC polynomial C(D) used by the conventional transmitter to produce a quotient polynomial Q(D) and a remainder E(D). The conventional receiver examines the remainder E(D) to determine whether the error occurred during transmission of the data packet. When the remainder E(D) is zero then no error occurred during transmission of the data packet. Otherwise, some error occurred during transmission of the data packet. However, decoding of each of the codeblocks in this manner can lead to latency, especially due to the possibly large size of packets.